Skip to content

fix(ci): point Dependabot at the pnpm workspace root - #71

Merged
yashranaway merged 1 commit into
mainfrom
t3code/fix-dependabot
Aug 5, 2026
Merged

fix(ci): point Dependabot at the pnpm workspace root#71
yashranaway merged 1 commit into
mainfrom
t3code/fix-dependabot

Conversation

@yashranaway

Copy link
Copy Markdown
Collaborator

Dependabot opened 13 PRs within minutes of #55 merging, and every npm one for apps/web failed CI — including a postcss patch bump (#69). That was my configuration bug, not a bad dependency.

Root cause

A pnpm workspace has one pnpm-lock.yaml at the root. My config declared an npm entry with directory: /apps/web, so Dependabot edited apps/web/package.json and left the root lockfile untouched:

ERR_PNPM_OUTDATED_LOCKFILE  Cannot install with "frozen-lockfile" because
pnpm-lock.yaml is not up to date with <ROOT>/apps/web/package.json

The contrast is visible in the PR file lists:

PR Config entry Files changed CI
#66 jsdom directory: / apps/headless/package.json + pnpm-lock.yaml reached the tests
#69 postcss directory: /apps/web apps/web/package.json only failed at install

Fix

One npm entry at / covering the whole workspace, with the grouping rules kept (react, next, tailwind, types, plus a new eslint group). The comment in the file explains why, so nobody re-splits it later.

Follow-up

The seven malformed PRs (#62#65, #67#69) will be closed; Dependabot regenerates them correctly against the root on the next run. Note that CI does not exercise release.yml, so the download-artifact and gh-release bumps (#57, #58) are not validated by a green check — those need a tag run or manual review before merging.

The npm entry aimed at /apps/web updated only apps/web/package.json and left
the root pnpm-lock.yaml untouched, so every resulting PR failed CI on
ERR_PNPM_OUTDATED_LOCKFILE — even a postcss patch bump (#69). A pnpm
workspace has one lockfile at the root, so a single npm entry there covers
both apps and keeps the lockfile in step; the root entry produced correct
PRs (#66 updated the manifest and the lockfile together).

Also folds the former root entry's schedule into the single npm entry and
adds an eslint group.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant